home *** CD-ROM | disk | FTP | other *** search
- RQSALL(1) Last changed: 1-22-99
-
-
- NNAAMMEE
- rrqqssaallll - Requickstarts out-of-sync ELF shared objects/executables
-
- SSYYNNOOPPSSIISS
- rrqqssaallll [_o_p_t_i_o_n_s] _i_f_i_l_e
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- IRIX systems
-
- DDEESSCCRRIIPPTTIIOONN
- The rrqqssaallll command is used to requickstart ELF files that are out of
- sync on a system. This command reads a description of the ELF files
- that have been recorded (in an undocumented plain text format) in
- _i_f_i_l_e. Those descriptions are generated using the rrqqssrreeaadd command.
- Using those descriptions, this command determines which ELF files will
- not quickstart when executed. For each of those files, this command
- will normally execute the command //uussrr//eettcc//rrqqss or //uussrr//eettcc//rrqqss6644 (as
- appropriate) on that file to resynchronize that file with the ELF
- files that it depends on (for example, the objects that are on that
- file's lliibblliisstt). This command is normally invoked whenever software
- is installed using iinnsstt or sswwmmggrr. The _i_f_i_l_e that it is invoked on is
- //vvaarr//iinnsstt//..rrqqssffiilleess. At most, one _s_o__l_o_c_a_t_i_o_n_s file per ABI can
- possibly be read. At most, one _s_o__l_o_c_a_t_i_o_n_s file per ABI can possibly
- be updated. By default, _s_o__l_o_c_a_t_i_o_n_s files found are updated (though
- the contents may not change, the files will still be rewritten).
-
- rrqqssaallll uses only the $$rraannggee entry from any _s_o__l_o_c_a_t_i_o_n_s file entry to
- help determine what address range should be assigned if the DSO named
- in that entry needs to be moved. If no $$rraannggee entry is found for a
- DSO that must be moved, a default range is used. The address assigned
- a DSO being moved is not allowed to conflict with any DSO previously
- processed in this execution of rrqqssaallll. Within any range, rrqqssaallll
- selects the highest available address. For 64-bit objects, the
- default address range is 0x00400000 to 0x1000000000. For 32-bit
- objects (both old and new 32-bit ABIs), the default address range is
- 0x00400000 to 0x60000000. If the dso cannot be moved to that range
- (the range is full from other DSOs or the range is too small) it is an
- error (a warning is emitted on stderr), and the DSO will not be moved.
-
- Cycles of DSOs (where the DSO which references itself via its library
- list directly or indirectly) are not properly handled.
-
- --ccmmdd _r_q_s__c_m_d
- Change the command to be run on out-of-sync 32-bit file to be
- _r_q_s__c_m_d. By default, the command that is executed is
- //uussrr//eettcc//rrqqss.
-
- --ccmmdd6644 _r_q_s_6_4__c_m_d
- Change the command to be run on out-of-sync 64-bit file to be
- _r_q_s_6_4__c_m_d. By default, the command that is executed is
- //uussrr//eettcc//rrqqss6644.
-
- --ccmmdd__pprreeffiixx _p_a_t_h
- Prepends _p_a_t_h to the name of the command to be run on an out-of-
- sync file.
-
- --ccoouunntt
- Prints to stdout the total number of files that were
- requickstarted, the number of files that were successfully
- requickstarted, and the number of files failed to be
- requickstarted.
-
- --ddeebbuugg _n_o_e_x_e_c
- Keeps the out-of-sync files from actually being requickstarted.
- This is typically used as a debugging aid to determine which
- files will be requickstarted. This option prevents
- requickstarting files and also prevents updating of any
- _s_o__l_o_c_a_t_i_o_n_s file.
-
- --ddeebbuugg _r_e_a_s_o_n
- Dumps relocation information. Displays the reason why a file
- needs to be requickstarted.
-
- --ffoorrccee
- Files that are marked as non-quickstart will be requickstarted.
-
- --iinnsstt #_f_i_l_e_d_e_s_c or --iinnsstt _f_i_l_e_n_a_m_e
- A special flag used when calling this command from our
- installation software. Status is written out to either the file
- descriptor given by _f_i_l_e_d_e_s_c (for example, to write to file
- descriptor 10, --iinnsstt ##1100 would be the correct option) or to the
- file given by _f_i_l_e_n_a_m_e. The output is appended if specified by
- #_f_i_l_e_d_e_s_c. The output is written (not appended) if specified by
- _f_i_l_e_n_a_m_e. The information written includes the count of the
- files that are going to be requickstarted. For each file that is
- being requickstarted, the name of the file, its original iinnsstt
- cchheecckkssuumm value, and an indication of success ('S') or failure
- ('F') is indicated. The fields are separated by CCoonnttrrooll--AA's.
-
- --oo _o_u_t_f_i_l_e
- Causes an updated version (after requickstarting) of the
- description file to be written to _o_u_t_f_i_l_e. _o_u_t_f_i_l_e can be the
- same as the input file, _f_i_l_e.
-
- --pprreeffiixx _d_i_r
- Treats _d_i_r as the prefix for the files being read. When the
- description file is read, the prefix is prepended to all file
- names. Similarly, when the output file is generated, the prefix
- directory is removed. This option, along with the --rroooott option,
- is used to requickstart files that are located in a directory
- beginning at other than /e.
-
- --rreessccaann
- Causes the descriptions of the files recorded in _f_i_l_e to be
- rescanned. This option would be used in the case where the files
- on the system have been changed since the last time the
- descriptions have been recorded.
-
- --rroooott _d_i_r
- Passes _d_i_r down to rrqqss to adjust where that command will look for
- shared objects.
-
- --ttiimmeessttaammpp _v_a_l_u_e
- Passes down _v_a_l_u_e to rrqqss as the timestamp to be recorded in the
- requickstarted file.
-
- --rrlldd _r_l_d_n_a_m_e
- Supplies the name of the rrlldd(1). If this option is supplied, the
- address of the rrlldd applicable to the object is checked against
- the rrlldd address in the object (checked against
- DDTT__MMIIPPSS__RRLLDD__TTEEXXTT__RREESSOOLLVVEE__AADDDDRR) and if the addresses do not match,
- the address of the rrlldd given by _r_l_d_n_a_m_e is passed to rrqqss with the
- --rrlldd__aaddddrr option. If nothing else is to be changed in this
- object, the --rrlldd__aaddddrr__oonnllyy option is also passed to rrqqss. This
- option may not work well for 32-bit objects since the rrlldd address
- need not be identical for old 32-bit ABI and new 32-bit ABI rrlldd,
- but there is no way to separate the different versions of rrlldd for
- the different 32-bit ABIs in this option.
-
- --cchheecckk__rreeggiissttrryy _l_o_c_a_t_i_o_n__f_i_l_e__f_o_r__3_2__b_i_t__o_b_j_e_c_t_s
- Uses _l_o_c_a_t_i_o_n__f_i_l_e__f_o_r__3_2__b_i_t__o_b_j_e_c_t_s as the list of potential
- shared object locations. This information is used when
- determining a new location for a 32-bit shared object. The
- default is /_l_i_b/_s_o__l_o_c_a_t_i_o_n_s for old 32-bit ABI objects and
- /_l_i_b_3_2/_s_o__l_o_c_a_t_i_o_n_s for new 32-bit ABI objects. This option is
- ignored (and the default is used) if --cchheecckk__rreeggiissttrryy__ppaatthh is
- provided.
-
- --cchheecckk__rreeggiissttrryy__6644 _l_o_c_a_t_i_o_n__f_i_l_e__f_o_r__6_4__b_i_t__o_b_j_e_c_t_s
- Uses _l_o_c_a_t_i_o_n__f_i_l_e__f_o_r__6_4__b_i_t__o_b_j_e_c_t_s as the list of potential
- shared object locations. This information is used when
- determining a new location for a 64-bit shared object. The
- default is /_l_i_b_6_4/_s_o__l_o_c_a_t_i_o_n_s. This option is ignored (and the
- default is used) if --cchheecckk__rreeggiissttrryy__ppaatthh is provided.
-
- --cchheecckk__rreeggiissttrryy__ppaatthh _p_a_t_h_n_a_m_e
- Changes the default path of the registry file to check to
- _p_a_t_h_n_a_m_e. The default value is //uussrr.
-
- --uuppddaattee__rreeggiissttrryy _l_o_c_a_t_i_o_n__f_i_l_e__f_o_r__3_2__b_i_t__o_b_j_e_c_t_s
- Uses _l_o_c_a_t_i_o_n__f_i_l_e__f_o_r__3_2__b_i_t__o_b_j_e_c_t_s as the list of potential
- shared object locations. This information is used when
- determining a new location for a 32-bit shared object. The
- default for this is /_l_i_b/_s_o__l_o_c_a_t_i_o_n_s for old 32-bit ABI objects
- and /_l_i_b_3_2/_s_o__l_o_c_a_t_i_o_n_s for new 32-bit ABI objects. This option
- is ignored (and the default is used) if --uuppddaattee__rreeggiissttrryy__ppaatthh is
- provided.
-
- --uuppddaattee__rreeggiissttrryy__6644 _l_o_c_a_t_i_o_n__f_i_l_e__f_o_r__6_4__b_i_t__o_b_j_e_c_t_s
- Uses _l_o_c_a_t_i_o_n__f_i_l_e__f_o_r__6_4__b_i_t__o_b_j_e_c_t_s as the list of potential
- shared object locations. This information is used when
- determining a new location for a 64-bit shared object. The
- default for this is /_l_i_b_6_4/_s_o__l_o_c_a_t_i_o_n_s. This option is ignored
- (and the default is used) if --uuppddaattee__rreeggiissttrryy__ppaatthh is provided.
-
- --uuppddaattee__rreeggiissttrryy__ppaatthh _p_a_t_h_n_a_m_e
- Changes the default path of the registry file update to _p_a_t_h_n_a_m_e.
- The default value is //uussrr.
-
- --nnoo__rreeggiissttrryy
- No default registry files should be used for checking.
-
- --ffiillee _o_b_j_n_a_m_e
- The object is requickstarted to this single object. Other object
- requickstarting is suppressed when this option is specified. If
- multiple instances of this option are specified, only the last is
- effective.
-
- --lloogg _l_o_g_f_i_l_e_n_a_m_e
- Writes a file name and action letter (T for requickstarted) in
- the named file for each file requickstarted. The file is opened
- for output (not append) so previous contents are deleted.
-
- --nnoo__ttiimmeessttaammpp
- Stops rrqqssaallll from passing the --ttiimmeessttaammpp option to rrqqss.
-
- --nnoo__eecchhoo
- Turns off echoing to standard output of each rrqqss command to be
- executed.
-
- --rrqqss__uuppddaattee__rreeggiissttrryy
- Enables passing of --cchheecckk__rreeggiissttrryy and/or --uuppddaattee__rreeggiissttrryy
- commands to rrqqss using the file names from the --cchheecckk__rreeggiissttrryy,
- --uuppddaattee__rreeggiissttrryy, --cchheecckk__rreeggiissttrryy__6644, --uuppddaattee__rreeggiissttrryy__6644
- options. Suppresses update of any ssoo__llooccaattiioonnss file by rrqqssaallll
- and lets rrqqss or rrqqss6644 do the update.
-
- --rrqqss__eerrrroorr__lloogg _r_q_s_l_o_g_n_a_m_e
- Passes the rrqqssllooggnnaammee to rrqqss via the --lloogg option.
-
- --vv Turns on additional output. Primarily used for debugging rrqqssaallll.
-
- --ssaammee__aaggee
- Allows rrqqss to run even if no dependent DSO changed (that is, the
- library-list entries seem to have the same identical checksums
- and dates as the actual referenced DSOs).
-
- --rreeaadd__oonnllyy__rreeggiissttrryy
- Open registry files as read only. Useful for rrqqss testing.
-
- --mmoovvee
- Reassign load addresses for every DSO listed in the description
- file. Each DSO will be requickstarted using the --llooaadd__aaddddrreessss
- option of rrqqss. Although slow, the use of this option will
- defragment virtual address ranges assigned to each DSO and
- maximize available contiguous heap. See Example 2.
-
- EEXXAAMMPPLLEESS
- Example 1: The following example shows a typical invocation of this
- command:
-
- cp /var/inst/.rqsfiles t
-
- rqsall -force -o t -update_registry /usr/lib/so_locations \
- -update_registry_64 /usr/lib64/so_locations t
- # Make sure t is not empty!
-
- cp t t1
-
- rqsall -rescan -same_age -force -move -o t2 t1
- # Make sure t2 is not empty!
-
- cp t2 /var/inst/.rqsfiles
-
- Example 2: The following example shows, by specifying the --mmoovvee
- option, a typical invocation of rrqqssaallll for every DSO listed in
- //vvaarr//iinnsstt//..rrqqssffiilleess, using the default _s_o__l_o_c_a_t_i_o_n_s files:
-
- # Ensure that you save a copy of your original .rqsfiles!
- # If lost it is hard to recover!
- cp /var/inst/.rqsfiles/var/inst/bkuprqsfiles
-
- rqsall -rescan -same_age -force -move \
- -o /var/inst/.rqsfiles /var/inst/.rqsfiles
-
- NNOOTTEESS
- Usually, only a single _i_f_i_l_e is specified on the command line because
- rrqqssrreeaadd creates only one file. Because this is the normal case (and
- the only case used in practice) the SYNOPSIS shows only one _i_f_i_l_e. If
- multiple files are specified, they are logically concatenated.
- However, each _i_f_i_l_e must be complete in the sense that the information
- (in the undocumented plain text format used) contains complete
- information sets for each object.
-
- FFIILLEESS
- //uussrr//eettcc//rrqqssaallll
- //uussrr//eettcc//rrqqss
- //uussrr//eettcc//rrqqss3322
- //uussrr//eettcc//rrqqss6644
- //uussrr//lliibb//ssoo__llooccaattiioonnss (for old 32-bit ABI)
- //uussrr//lliibb3322//ssoo__llooccaattiioonnss (for new 32-bit ABI)
- //uussrr//lliibb6644//ssoo__llooccaattiioonnss
- //vvaarr//iinnsstt//..rrqqssffiilleess
-
- SSEEEE AALLSSOO
- rrqqss(1), rrqqss6644(1), rrqqssrreeaadd(1), rrqqsspprriinntt(1), lldd(1), rrlldd(1), iinnsstt(1M),
- sswwmmggrr(1M)
-
- This man page is available only online.
-